The proliferation of low cost mobile computing devices with wireless capabilities has created a demand for software systems that support their capabilities. The variety of devices and methods for accessing remote servers also demands server software that is flexible in the manner which it communicates and formats its responses. Some devices expect browser-targeted markup languages, such as HTML (HyperText Markup Language) or WML (Wireless Markup Language). Other devices, which can support more complex, custom client applications, can support more complex data formats. Ultimately, new devices are being developed and distributed to the general public everyday, making the openness and flexibility of a software system which supports them even more critical.
For a software system of this type to be useful, a core application which makes use of its capabilities for remote access from any device to any data is necessary. Perhaps no type of data is more time sensitive and essential to the modern worker than what is commonly referred to as groupware. Groupware includes essentially any application or application-suite that offers collections of canonical item-types, such as messages, contacts, events, and tasks, and exposes query-able interfaces to those collections. For example, Microsoft's Outlook® client and Microsoft Exchange Server® allow a user to store contacts in an address book, send e-mail to those contacts, schedule a meeting based on the results of e-mail, and create a list of tasks necessary to prepare for some milestone.
Indeed, getting e-mail to handheld devices has been a problem in need of a better solution than is currently available. Previous methods of synching information between wireless devices and servers have been laden with shortcomings. From resolving conflicting data, to not having up-to-date information, to not receiving urgent information quickly enough, mobile workers have been saddled with numerous inadequate choices due to synching technology. Particularly troublesome for users that were searching for an e-mail solution that did not rely on synching was the fact that most e-mail-enabled wireless devices have had their own separate e-mail address and inbox. Autoforwarding has therefore been the only way for a user to access e-mail sent to their primary inbox. This has been a poor solution to a complex problem.
A need therefore exists for a software architecture, data model, and access protocol for wireless devices which utilizes low bandwidth, high latency, wireless networks to facilitate access to highly complex and dense remote servers on demand, in real-time. For a system which includes these components to be useful and applicable, a core “killer” application is required. The invention described by this document satisfies both of these needs.